import 'dotenv/config';
import Koa from 'koa';
import bodyParser from 'koa-bodyparser';
import logger from 'koa-logger';
import cors from '@koa/cors';
import errorHandler from './middlewares/ErrorHandler';
import router from "./routers/Router";

// 创建 Koa 实例
const app = new Koa();

// 中间件（顺序很重要）
app.use(errorHandler);          // 统一错误处理 – 最前面
app.use(cors());                // 跨域，生产可自行配置白名单
app.use(logger());              // 请求日志
app.use(bodyParser({ jsonLimit: '2mb' })); // 解析 JSON body

// 挂载路由
app.use(router.routes())
app.use(router.allowedMethods());

// 启动
const PORT = Number(process.env.PORT) || 3000;
app.listen(PORT, () => {
    console.log(`🚀 服务已启动: http://localhost:${PORT}`);
});
